Detecting critical links in bluetooth mesh networks

ABSTRACT

Embodiments include methods, for an intermediate node in a wireless mesh network, to identify a critical link in a path between a source node and a destination node in the wireless mesh network. Such methods include receiving a first message relating to a discovery of a path between the source node and the destination node. Such methods also include forwarding the first message to one or more other nodes in the wireless mesh network based on an entry in a discovery table, stored in the intermediate node, that indicates that the intermediate node is part of a critical link in the path. The first message can be a path request message or a path reply message, and the methods can include various other operations associated with each type of first message. Other embodiments include wireless devices configured to operate as intermediate nodes in accordance with these methods.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of, and claims the benefit ofpriority from, U.S. patent application Ser. No. 16/309,569 filed on Dec.13, 2018, which is a U.S. national-stage application claiming priorityto international application PCT/EP2018/080916 filed on Nov. 12, 2018,which claims the benefit of U.S. Provisional Patent Application62/729,215 filed on Sep. 10, 2018. The entire disclosures of theabove-mentioned applications are incorporated herein by reference forall purposes.

TECHNICAL FIELD OF THE DISCLOSURE

The present invention generally relates to wireless communicationnetworks, and more specifically relates to improvements to forwarding ofdata messages in mesh networks, such as Bluetooth mesh networks.

BACKGROUND INFORMATION

Bluetooth™ refers generally to a standardized group of technologiesusable to exchange data between devices over short distances using radiotransmission and reception in the 2.4-GHz ISM band. The promulgation andmanagement of Bluetooth standards is done by various committees of theBluetooth SIG, of which over 30,000 companies are members.

Bluetooth Low Energy (LE) is a particular version of Bluetoothtechnology that was first standardized by the Bluetooth SIG in 2010.Bluetooth LE is generally targeted at low-power applications that cantolerate lower-rate communications than, e.g., more traditionalBluetooth applications. Furthermore, Bluetooth LE is suitable forinexpensive devices that are constrained in terms of memory andcomputational resources.

Even so, Bluetooth LE leverages a robust frequency-hopping spreadspectrum approach that transmits data over 40 channels. Furthermore, aBluetooth LE-compliant radio includes multiple physical layer (PHY)options that support data rates from 125 kb/s to 2 Mb/s, multiple powerlevels, from 1 mW to 100 mW, as well as multiple security options.

Bluetooth LE also supports multiple network topologies, including aconventional point-to-point topology used for establishing one-to-one(1:1) communications between two devices. In addition, Bluetooth LEsupports a broadcast (one-to-many, or 1:m) device communications. Thebroadcast topology can be used for localized information sharing and forlocation services such as retail point-of-interest information, indoornavigation and wayfinding, and item/asset tracking.

Finally, Bluetooth LE supports a mesh topology that can be used forestablishing many-to-many (m:m) device communications. The mesh topologybased on Bluetooth LE can enable the creation of large-scale devicenetworks such as for control, monitoring, and automation systems wheretens, hundreds, or thousands of devices need to reliably and securelycommunicate with each other. In the Bluetooth LE mesh topology, eachdevice in a mesh network potentially can communicate with every otherdevice in the mesh network. Communication is achieved using messages,and devices can relay messages to other devices so that the end-to-endcommunication range is extended far beyond the radio range of eachindividual device.

Devices that are part of a Bluetooth LE mesh network are referred to as“nodes” whereas other devices not part of the mesh (e.g., even thoughwithin range of the mesh) are referred to as “unprovisioned devices.”The process which transforms an unprovisioned device into a node iscalled provisioning. This is a secure procedure which results in anunprovisioned device possessing a series of encryption keys and beingknown to the Provisioner device, such as a tablet or smartphone. AProvisioner is a device responsible for adding a node to a network andconfiguring its behavior.

As mentioned above, communication in a Bluetooth mesh network is“message-oriented” and various message types are defined. For example,when a node needs to query the status of other nodes or needs to controlother nodes in some way, it can send a message of a suitable type. If anode needs to report its status to other nodes, it can send a message ofsuitable type. Messages must be sent from an address and to an address.Bluetooth mesh topology supports three different types of addresses. Aunicast address uniquely identifies a single element (e.g., devices caninclude one or more elements), and unicast addresses are assigned todevices during the provisioning process. A group address is a multicastaddress which represents one or more elements. A virtual address may beassigned to one or more elements, spanning one or more nodes.

To further facilitate the use of Bluetooth LE in mesh networktopologies, the Bluetooth SIG promulgated the Mesh Profile Specificationin July 2017. FIG. 1 shows an exemplary layered mesh architecture basedon Bluetooth LE, as specified by the Bluetooth SIG. At the top is theModel layer, which defines models used to standardize the operation oftypical user scenarios, such as models for lighting and sensors. TheModel layer is further defined in other Bluetooth specifications,including a Bluetooth Mesh Model specification. The Foundation Modellayer defines the states, messages, and models required to configure andmanage a mesh network. The Access layer defines how higher-layerapplications can use the upper transport layer. It defines the format ofthe application data; it defines and controls the application dataencryption and decryption performed in the upper transport layer; and itchecks whether the incoming application data has been received in thecontext of the right network and application keys before forwarding itto the higher layer.

The Transport layer is subdivided into the Upper and Lower TransportLayers. The Upper Transport Layer encrypts, decrypts, and authenticatesapplication data and is designed to provide confidentiality of accessmessages. It also defines how transport control messages are used tomanage the upper transport layer between nodes, including when used bythe “Friend” feature. The Lower Transport Layer defines how uppertransport layer messages are segmented and reassembled into multipleLower Transport protocol data units (PDUs) to deliver large uppertransport layer messages to other nodes. It also defines a singlecontrol message to manage segmentation and reassembly.

The Network Layer defines how transport messages are addressed towardsone or more elements. It defines the network message format that allowsTransport PDUs to be transported by the bearer layer. The network layerdecides whether to relay/forward messages, accept them for furtherprocessing, or reject them. It also defines how a network message isencrypted and authenticated. The bearer layer defines how networkmessages are transported between nodes. There are two bearers defined,the advertising bearer and the GATT bearer.

At the bottom of the exemplary architecture shown in FIG. 1 are theBluetooth LE radio layers. FIG. 2 further illustrates how Bluetooth meshnetworking integrates with Bluetooth LE architecture shown in FIG. 1. InFIG. 2, shading is used to indicate blocks or layers that are part ofthe Bluetooth LE specification. At the bottom are the Bluetooth LEphysical (PHY) and link layers, which typically can be implemented inthe Bluetooth controller. The layers above link layer typically can beimplemented on the Bluetooth host device. On the left side of FIG. 2 areBluetooth LE higher layers that can be utilized independent of meshnetworking functionality. The non-shaded blocks on the right side abovethe link layer correspond to the mesh networking architecture shown inFIG. 1 (plus provisioning). In this manner, applications (shown at thetop-most layer in FIG. 2) can utilize both mesh and non-meshfunctionality of the underlying Bluetooth LE technology.

Currently, Bluetooth mesh networking is based on “flooding” which usesbroadcasting over a set of shared channels—the advertising channels. Anode acting as a relay node in a Bluetooth mesh network scans for meshmessages. When a message is detected and received the node checks if itis the destination of the message. The message can be forwarded in themesh network by re-transmitting it so that the neighbors of the node canreceive it. By means of this distributed mechanism the message isforwarded from node to node(s) in the network so that the messagearrives at the destination.

Flooding, as specified in version 1.0 of the Bluetooth meshspecification, has some drawbacks including increased interference andenergy consumption, especially as the level of traffic in the networkincreases. As such, subsequent versions of the Bluetooth meshspecifications are expected to implement mechanisms to limit packetforwarding to occur only along specific paths towards the intendedreceiver(s). This is expected to reduce the amount of traffic (andconsequently alleviate the exemplary drawbacks mention) in directionswhere forwarding does not help improving the probability of successfuldelivery.

One known technique to construct forwarding paths between a source andone or more destinations is through path discovery according to an “adhoc on-demand distance vector (AODV),” such as specified in RFC 3561published by Internet Engineering Task Force (IETF). AODV can determineunicast routes to destinations within an ad hoc network with quickadaptation to dynamic link conditions, while requiring relatively lowprocessing and memory overhead and low network utilization. In addition,AODV uses destination sequence numbers to facilitate freedom from loops,even after anomalous delivery of routing control messages.

More specifically, AODV methods establish paths by means of Path Request(also referred to as “Route Request”) messages flooded by the originatorand Path Reply (also referred to as “Route Reply”) messages unicastedback by the destination. Intermediate relays that receive the Path Replymessage store path information in a forwarding table and are entitled toforward packets. Sequence numbers (also referred to as “forwardingnumbers”) increase with each new Path Request message and, as such, canbe used to distinguish new Path Request messages from copies of PathRequest messages already forwarded in the network.

A particular feature of Bluetooth Mesh is that data messages do notcontain explicit next-hop indications. As mentioned above, a path isidentified by a combination of the addresses of the originator of thepath and the address of the destination of the path. As such, multiplenodes that receive a message and belong to the path can forward themessage. This provides opportunities to enable robust, multi-pathcommunication via completely independent redundant paths that can betraversed without having to replicate messages to each of the next-hopdestinations. In addition, these characteristics facilitate theintroduction of assistant relay nodes for local path repair.

Even so, the network topology and propagation conditions in a wireless(e.g., Bluetooth) mesh network deployment can limit the availability ofthese redundancy mechanisms. For example, when a given link is presentin more than one (e.g., potentially all) possible communication pathsbetween a source node and a destination node, it is referred to as a“critical link.” Losses of such critical links impact the end-to-endreliability of the mesh network, particularly the forwarding mechanismin Bluetooth mesh.

SUMMARY

Embodiments of the present disclosure provide specific improvements tocommunication between nodes in a wireless mesh network, such as byproviding novel techniques for detecting the presence of critical linksand providing the signaling flow necessary to enable additionalredundancy mechanisms for a wireless (e.g., Bluetooth) mesh network. Inthis manner, embodiments can improve overall reliability of wireless(e.g., Bluetooth) mesh networks. Furthermore, such exemplary embodimentscan be fully compatible with existing path discovery mechanisms forBluetooth mesh networks, such that a node utilizing these noveltechniques can co-exist and/or interoperate with other legacy nodes, inthe same Bluetooth mesh network, that do not implement such techniques.

Some exemplary embodiments of the present disclosure include methodsand/or procedures for forwarding path request (PREQ) messages related tothe discovery of a path between a source node and a destination node ina wireless mesh network. The exemplary method and/or procedure can beperformed by an intermediate node (e.g., user equipment, wirelessdevice, IoT device, Bluetooth Low-Energy device, etc. or componentthereof) in the wireless mesh network (e.g., a Bluetooth mesh network).

The exemplary methods and/or procedures can include receiving a firstPREQ message relating to the discovery of a path between the source nodeand the destination node. The exemplary methods and/or procedures canalso include determining whether further PREQ messages relating to thediscovery of the path were received during a predetermined durationafter receiving the first PREQ message. The exemplary methods and/orprocedures can also include, if it is determined that further PREQmessages relating to the discovery of the path were not received duringthe predetermined duration, setting a first critical flag in a discoverytable entry associated with the path between the source node and thedestination node.

In some embodiments, the first critical flag in the discovery table canindicate that the intermediate node can be part of a critical link inthe path. In some embodiments, the setting of the first critical flagcan be further based upon one of the following conditions: 1)determining that a forwarding table, stored in the intermediate node,includes an entry corresponding to a path between the source node andthe destination node, and that the entry includes a second critical flaghaving a value indicating that the intermediate node is part of acritical link in the path; or 2) determining that the forwarding tabledoes not include an entry corresponding to a path between the sourcenode and the destination node.

The exemplary methods and/or procedures can also include forwarding thePREQ message to one or more other nodes in the wireless mesh network. Insome embodiments, the exemplary method and/or procedure can alsoinclude, prior to forwarding the PREQ message, setting the value of aflag comprising the PREQ message to indicate that the forwarding tabledoes not include an entry corresponding to a path between the sourcenode and the destination node. In some embodiments, the exemplary methodand/or procedure can also include, if it is determined that further PREQmessages relating to the discovery of the path were received during thepredetermined duration, forwarding the PREQ message to one or more othernodes in the wireless mesh network without setting the first criticalflag.

Other exemplary embodiments of the present disclosure include methodsand/or procedures for forwarding path reply (PREP) messages related tothe discovery of a path between a source node and a destination node ina wireless mesh network. The exemplary method and/or procedure can beperformed by an intermediate node (e.g., user equipment, wirelessdevice, IoT device, Bluetooth Low-Energy device, etc. or componentthereof) in the wireless mesh network (e.g., a Bluetooth mesh network).

These exemplary methods and/or procedures can include receiving a firstPREP message relating to the discovery of a path between the source nodeand the destination node. In some embodiments, the exemplary methodsand/or procedures can also include, in response to receiving the firstPREP message, creating an entry, associated with the path, in aforwarding table stored in the intermediate node.

The exemplary methods and/procedures can also include determiningwhether an entry in a discovery table, stored in the intermediate node,includes a first critical flag having a value indicating that theintermediate node is part of a critical link in the path. The exemplarymethods and/procedures can also include, if it is determined that thefirst critical flag has a value indicating that the intermediate node ispart of a critical link in the path, setting a second critical flag inthe first PREP message before forwarding the first PREQ message to oneor more other nodes in the wireless mesh network. In some embodiments,if it is determined that the first critical flag has a value indicatingthat the intermediate node is not part of a critical link in the path,the exemplary methods and/or procedures can include forwarding the firstPREQ message to one or more other nodes in the wireless mesh networkwithout setting the second critical flag.

In some embodiments, the exemplary methods and/or procedures can alsoinclude, if it is determined that the first critical flag has a valueindicating that the intermediate node is part of a critical link in thepath, setting a destination critical flag in an entry, associated withthe path, of a forwarding table stored in the intermediate node. In someembodiments, the exemplary methods and/or procedures can also include,if it is determined that the second critical flag has a value indicatingthat the intermediate node is part of a critical link in the path,increasing the number of retransmissions for network-layer protocol dataunits (PDUs) over the critical link.

In some embodiments, each of the path requests comprises an Ad hocOn-Demand Distance Vector (AODV) Route Request (RREQ) message, and thepath reply comprises an AODV Route Reply (RREP) message. In someembodiments, the wireless mesh network is a Bluetooth mesh network, andthe exemplary method and/or procedure is performed by a BluetoothLow-Energy node.

Other exemplary embodiments include node (e.g., user equipment, wirelessdevice, IoT device, Bluetooth Low-Energy device, etc. or componentthereof) configured to perform operations corresponding to various onesof the exemplary methods and/or procedures described above. Otherexemplary embodiments include non-transitory, computer-readable mediastoring program instructions that, when executed by at least oneprocessor, configure such nodes to perform operations corresponding tothe exemplary methods and/or procedures described above.

These and other objects, features and advantages of the exemplaryembodiments of the present disclosure will become apparent upon readingthe following detailed description of the exemplary embodiments of thepresent disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an exemplary layered mesh architecture based on BluetoothLE, as specified by the Bluetooth SIG.

FIG. 2 further illustrates how Bluetooth mesh networking integrates withthe Bluetooth LE architecture shown in FIG. 1.

FIG. 3 shows an exemplary mesh network comprising a source node, adestination node, and six intermediate (relay) nodes.

FIG. 4 illustrates the format of an exemplary a path request (PREQ)message.

FIG. 5 illustrates the format of an exemplary a path reply (PREP)message.

FIG. 6 shows a flow diagram illustrating an exemplary method and/orprocedure performed by an intermediate (e.g., relay) node that receivesa path request (PREQ) message, according to exemplary embodiments of thepresent disclosure.

FIG. 7 shows a flow diagram illustrating an exemplary method and/orprocedure performed by an intermediate (e.g., relay) node that receivesa path reply (PREP) message, according to exemplary embodiments of thepresent disclosure.

FIG. 8 shows a flow diagram of an exemplary method and/or procedure forforwarding path request (PREQ) messages related to the discovery of apath between a source node and a destination node in a wireless meshnetwork, according to one or more exemplary embodiments of the presentdisclosure.

FIG. 9 shows a flow diagram of an exemplary method and/or procedure forforwarding path reply (PREP) messages related to the discovery of a pathbetween a source node and a destination node in a wireless mesh network,according to one or more exemplary embodiments of the presentdisclosure.

FIG. 10 shows a block diagram of an exemplary wireless mesh device ornode according to various embodiments of the present disclosure.

DETAILED DESCRIPTION

As briefly mentioned above, the existence of critical links betweensource and destination nodes limit the capability of availableredundancy mechanisms in Bluetooth mesh networking. FIG. 3 shows anexemplary mesh network comprising a source node, a destination node, andsix intermediate (or relay) nodes. As illustrated in FIG. 3, the relaynodes are labelled 1-4 and A-B. As further illustrated by the solidlines in FIG. 3, there are two paths between the source and destinationsnodes, one traversing relay nodes {1, A, B, 3} and the other traversingrelay nodes {2, A, B, 4}. The dashed lines illustrated the propagationof path request messages throughout the mesh network. Since link A-B ispart of both paths, it is a critical link, such that the two paths arenot independent. FIG. 3 is representative of a scenario where source anddestination nodes are located in different areas of a building,interconnected by corridors.

In the event that critical link A-B was no longer available, a path isno longer available between the source and destination nodes.Furthermore, the use of assistant relay nodes for local path repairrequires the existence of an intermediate node that is neighbor of bothA and B, which does not exist in the topology shown in FIG. 3. In fact,there currently exists no mechanism defined in Bluetooth mesh to detect(and react to) the presence of a critical link such as A-B shown in FIG.3.

Accordingly, exemplary embodiments of the present disclosure providenovel techniques for detecting the presence of critical links andproviding the signaling flow necessary to enable additional redundancymechanisms for a wireless (e.g., Bluetooth) mesh network. For example,critical links can be identified by determining, at an intermediatenode, how many neighbors are forwarding messages from a source node to adestination node though that intermediate node. When only one neighbornode is detected, the mesh network can enable additional reliabilitymechanisms (e.g., increasing the number of retransmissions towards thesource) and can notify the single neighbor node so that it can also usethe same additional reliability mechanism for messages towards thedestination. Furthermore, the detection of a single forwarding neighbornode can also trigger redundant path discovery mechanisms.

In this manner, exemplary embodiments improve overall reliability ofwireless (e.g., Bluetooth) mesh networks. Furthermore, such exemplaryembodiments are fully compatible with existing path discovery mechanismsfor Bluetooth mesh technology, such that a node utilizing these noveltechniques can co-exist and/or interoperate with other legacy nodes, inthe same Bluetooth mesh network, that do not implement such techniques.For example, when an intermediate node detects a critical link with aneighbor node, the remedy involves signaling messages only between thosetwo nodes of the critical link.

Certain exemplary embodiments include enhancements and/or supplementaltechniques used with existing path discovery mechanisms such as AODV, asexplained further below in the context of the exemplary mesh networkshown in FIG. 3. More specifically, the source node in FIG. 3 canestablish a first path to the destination node by sending a path requestmessage with a newly generated forwarding or sequence number. This canoccur, for example, if the destination node is previously unknown to thesource node. Recall that the dashed lines in FIG. 3 illustrate thepropagation of path request messages throughout the mesh network.

FIG. 4 illustrates the format of an exemplary a path request message. Inparticular, the exemplary format shown in FIG. 4 corresponds to a RouteRequest (RREQ) message used in the AODV routing protocol specified inRFC 3561. In this format, the source node generates a new sequencenumber and inserts it into the Originator Sequence Number (OSN) field ofthe path request message, filling other message fields as needed withrelevant values. The top-most 32-bit word in the format shown in FIG. 4includes a “hop count” field and a “reserved” field.

The first path request is received by the destination node after beingforwarded by one or more intermediate nodes, with each forwarding nodeincrementing the “hop count” value. Thus, when the path request reachesthe destination node, the “hop count” represents the distance (in“hops”) between the source and destination nodes. Furthermore, due tothe mesh topology, the destination node can receive multiple version ofthe same path request, each version having traversed a different path ofintermediate nodes. Subsequently, the first path is established by thedestination node transmitting a path reply back to the originator viathe best path, which can be selected by the destination node in variousways. For example, the destination node can select the best path basedon which of the received path requests includes the lowest “hop count”value.

When intermediate nodes in the “best path” receive this path reply, theystore the corresponding path information, including the forwarding orsequence number, in their respective forwarding tables. FIG. 5illustrates the format of an exemplary a path reply message. Inparticular, the format shown in FIG. 5 corresponds to a Route Reply(RREP) message used in the AODV routing protocol specified in RFC 3561.In the format shown in FIG. 5, the “destination sequence number” cancorrespond to the sequence number of the path request message, such thatintermediate nodes receiving the path reply can correlate it with theearlier-received path request. Note that the top-most 32-bit word in theformat shown in FIG. 5 also includes a “hop count” field and a“reserved” field. Like the path request message discussed above,intermediate nodes along the “best path” increment the “hop count” valuewhen forwarding the path reply message. Ultimately, the source nodereceives this path reply and stores the information about the first pathto the destination node in its routing table. For example, the firstpath can be established via relay nodes {1, A, B, 3}.

According to certain exemplary embodiments, however, prior to forwardinga received path request message, intermediate nodes can count the numberof distinct received path request messages associated with a particularpath discovery (e.g., involving a particular source node and aparticular destination node) before forwarding the path request message.If only a single path request message is detected, then the intermediatenode is potentially part of a critical link for the path. For example,in the context of Bluetooth mesh networks, distinct path requestmessages for the same path discovery can be identified by the presenceof the same Path Originator (PO) and Originator Sequence Number (OSN)fields, but a different address in the (SRC) field of the Network PDU ofthe path request message.

Subsequently, upon receiving a path reply message associated with thepath request message, the node can identify itself as part of thecritical link and can notify the neighbor intermediate node (i.e., thenode from which the single path request message was received) that it isalso part of the critical link in the path. This can be done, e.g., bysetting a flag in the path reply message that is forwarded to theneighbor node.

Related U.S. Provisional Application 62/719,247, incorporated herein byreference, discloses exemplary techniques for establishing redundantpaths between a source node and a destination node in a wireless meshnetwork. In these previously-disclosed techniques, a node that has aforwarding table entry for a source-destination pair does not take partin subsequent path discovery procedures for that path. Exemplaryembodiments of the present disclosure can be used in conjunction withthe previously-disclosed techniques enables a node that is part of acritical link to participate in a subsequent discovery associated to thesame source-destination pair, independently of the presence of aforwarding table entry.

FIG. 6 shows a flow diagram illustrating an exemplary method and/orprocedure performed by an intermediate (e.g., relay) node that receivesa path request (PREQ) message, according to exemplary embodiments of thepresent disclosure. The exemplary method and/or procedure can beperformed by an intermediate node (e.g., user equipment, wirelessdevice, IoT device, Bluetooth Low-Energy device, etc. or componentthereof) in the wireless mesh network (e.g., a Bluetooth mesh network).For example, the exemplary method and/or procedure shown in FIG. 6 canbe implemented, for example, in a node configured according to FIG. 10(described below). Furthermore, the exemplary method and/or procedureshown in FIG. 6 can be utilized cooperatively with the exemplary methodand/or procedures shown in other figures (including but not limited toFIG. 7) to provide various exemplary benefits described herein. Inaddition, although FIG. 6 shows blocks in a particular order, this orderis merely exemplary, and the operations of the exemplary method and/orprocedure can be performed in a different order than shown in FIG. 6 andcan be combined and/or divided into blocks having differentfunctionality.

Exemplary embodiments of the method and/or procedure illustrated in FIG.6 can include the operations of block 610, where the node can receive aPREQ message associated with a path discovery between a particularsource-destination node pair. In block 620, the node can determine, overa predetermined duration, whether any additional (e.g., distinct) PREQmessages associated with that particular node pair are received. Forexample, the node can count the received distinct PREQ message(s)associated with the node pair over the predetermined duration. Aftercompletion of the predetermined duration, operation proceeds to block630, in which the node determines if a forwarding table entry associatedwith that node pair exists. If case of an affirmative determination(“Yes”), operation proceeds to block 640, in which the node determinesif a critical flag is set with respect to that forwarding table entry.If this determination is negative (“No”), the received PREQ message(s)associated with the node pair are discarded (block 650).

On the other hand, in case the determination in block 630 is negative(“No”) or the determination in block 640 is affirmative (“Yes”),operation proceeds to block 660, where the node can determine if thenumber of PREQ message(s) associated with the node pair that werereceived over the predetermined duration (e.g., in block 620) is equalto one. If the determination is negative (“No”), operation proceeds toblock 680, where the node forwards the received PREQ messages accordingto normal flooding operation. On the other hand, if the determination isaffirmative (“Yes”), operation first proceeds through block 670, wherethe node can set a critical flag in the discovery table entry beforeforwarding the received PREQ messages.

FIG. 7 shows a flow diagram illustrating an exemplary method and/orprocedure performed by an intermediate (e.g., relay) node that receivesa path reply (PREP) message, according to exemplary embodiments of thepresent disclosure. The exemplary method and/or procedure can beperformed by an intermediate node (e.g., user equipment, wirelessdevice, IoT device, Bluetooth Low-Energy device, etc. or componentthereof) in the wireless mesh network (e.g., a Bluetooth mesh network).For example, the exemplary method and/or procedure shown in FIG. 7 canbe implemented, for example, in a node configured according to FIG. 10(described below). Furthermore, the exemplary method and/or procedureshown in FIG. 7 can be utilized cooperatively with the exemplary methodand/or procedures shown in other figures (including but not limited toFIG. 6) to provide various exemplary benefits described herein. Inaddition, although FIG. 7 shows blocks in a particular order, this orderis merely exemplary, and the operations of the exemplary method and/orprocedure can be performed in a different order than shown in FIG. 7 andcan be combined and/or divided into blocks having differentfunctionality.

Exemplary embodiments of the method and/or procedure illustrated in FIG.7 can include the operations of block 710, where the node can receive aPREP message associated with a path discovery between a particularsource-destination node pair. In block 720, the node adds to itsforwarding table an entry associated with the particular node pair. Inblock 730, the node can determine whether a critical flag is set in thereceived PREP message. If the determination is negative (“No”),operation proceeds directly to block 750. On the other hand, if thedetermination is affirmative (“Yes”), operation first proceeds to block740, in which the node can set the source critical flag in theforwarding table entry added in block 720.

In block 750, the node can determine whether the critical flag is set ina discovery table entry associated with the particularsource-destination node pair. For example, the node can determinewhether the critical flag was previously set in that discovery tableentry. If the determination is negative (“No”), operation proceeds toblock 780 in which the node can forward the received PREP message to theneighbor node that is identified in the discovery table entry. On theother hand, if the determination is affirmative (“Yes”), the operationsof blocks 760-770 are performed before the operations of block 780. Morespecifically, in block 760, the node can set the destination criticalflag in the forwarding table entry added in block 720, and in block 770,the node can set the critical flag in the PREP message forwarded inblock 780.

The operation of the exemplary methods and/or procedures described abovecan be further illustrated in the context of FIG. 3, based on theassumption that both intermediate nodes A and B implement such methodsand/or procedures. In such case, node A receives multiple PREQ messagesassociated with a source-destination node pair and propagates its PREQmessage according to the existing discovery mechanisms. However, node Breceives only one PREQ message from A during the predetermined duration,indicating that the link between A and B is critical (e.g., the onlypath from the source node to node B goes through node A). In response,node B sets the critical flag in its discovery table entry associatedwith that path, and propagates the PREQ message

The destination node selects the best among the candidate paths andtransmits a PREP message. When the PREP message is received by node B,it checks the critical flag in the discovery table entry and sets thedestination critical flag accordingly in the Forwarding Table entry andthe critical flag in the outgoing PREP message. When node A receives thePREP message with the critical flag set, it can set the source criticalflag in the Forwarding Table entry and propagate the path replyaccording to existing discovery mechanisms in the mesh network. If thedestination node later tries to set up an additional path (using, e.g.,the redundant path mechanisms disclosed in the related application),nodes A and B will thus participate in the path discovery procedurebecause their link is marked as critical, despite already being part ofenabling additional nodes to still be added to the path.

In some exemplary embodiments, based on a determination that a node ispart of a critical link (e.g., using techniques illustrated by FIGS. 6and/or 7), the node can configure a mechanism to increase thereliability for that critical link. For example, the node can increasethe number of retransmissions for network-layer protocol data units(PDUs) over a source-destination path that includes the critical link.In other words, if the same link is part of multiple paths between asource node and a destination node, the intermediate nodes on either endof the link can increase the redundancy in information sent on each ofthe multiple paths.

In some exemplary embodiments, a node can include an additional flag(referred to as “unique flag”) in PREQ messages prior to forwarding. Forexample, the node can insert a “1” in the “unique flag” to indicate thatthe node does not have a corresponding forwarding table entry. If thenode does have a corresponding forwarding table entry, it can leave the“unique flag” unchanged prior to forwarding. Subsequent intermediatenodes can manipulate (or not) the “unique flag” in a similar manner. Assuch, a destination node that receives such PREQs can determine whetherredundant paths to a source node can be established based on the valuesin the respective “unique flags” (e.g., at least one PREQ having “uniqueflag” set to “1”).

In some exemplary embodiments, based on a determination that a node ispart of a critical link (e.g., using techniques illustrated by FIGS. 6and/or 7), and upon detecting that the critical link is unreliable(e.g., inadequate received signal strength, excess interference, etc.),the node can directly issue a path error message instead of initiating apath assistance operation. In other words, based on the link criticalitydetermination, the node assumes that no candidates exist and thereforedoes not waste time or radio resources on setting up an assisting node.

FIG. 8 shows a flow diagram of an exemplary method and/or procedure forforwarding path request (PREQ) messages related to the discovery of apath between a source node and a destination node in a wireless meshnetwork. The exemplary method and/or procedure can be performed by anintermediate (e.g., relay) node (e.g., user equipment, wireless device,IoT device, Bluetooth Low-Energy device, etc. or component thereof) inthe wireless mesh network (e.g., a Bluetooth mesh network). For example,the exemplary method and/or procedure shown in FIG. 8 can beimplemented, for example, in a node configured according to FIG. 10(described below). Furthermore, the exemplary method and/or procedureshown in FIG. 8 can be utilized cooperatively with the exemplary methodand/or procedures shown in other figures (including but not limited toFIG. 9) to provide various exemplary benefits described herein. Inaddition, although FIG. 8 shows blocks in a particular order, this orderis merely exemplary, and the operations of the exemplary method and/orprocedure can be performed in a different order than shown in FIG. 8 andcan be combined and/or divided into blocks having differentfunctionality. Optional blocks or operations are shown by dashed lines.

Exemplary embodiments of the method and/or procedure illustrated in FIG.8 can include the operations of block 810, where the intermediate nodecan receive a first PREQ message relating to the discovery of a pathbetween the source node and the destination node. The exemplary methodand/or procedure can also include operations of block 820, where theintermediate node can determine whether further PREQ messages relatingto the discovery of the path were received during a predeterminedduration after receiving the first PREQ message.

The exemplary method and/or procedure can also include operations ofblock 830, where if it is determined that further PREQ messages relatingto the discovery of the path were not received during the predeterminedduration, the intermediate node can set a first critical flag in adiscovery table entry associated with the path between the source nodeand the destination node. In some embodiments, the first critical flagin the discovery table can indicate that the intermediate node can bepart of a critical link in the path. In some embodiments, theintermediate node can further base the setting of the first criticalflag upon one of the following conditions (block 832): 1) determiningthat a forwarding table, stored in the intermediate node, includes anentry corresponding to a path between the source node and thedestination node, and that the entry includes a second critical flaghaving a value indicating that the intermediate node is part of acritical link in the path; or 2) determining that the forwarding tabledoes not include an entry corresponding to a path between the sourcenode and the destination node.

The exemplary method and/or procedure can also include operations ofblock 840, in which the intermediate node can forward the PREQ messageto one or more other nodes in the wireless mesh network. In someembodiments, the exemplary method and/or procedure can also includeoperations of block 842, in which the intermediate node can, prior toforwarding the PREQ message, set the value of a flag comprising the PREQmessage to indicate that the forwarding table does not include an entrycorresponding to a path between the source node and the destinationnode. In some embodiments, the exemplary method and/or procedure canalso include operations of block 844, where if it is determined thatfurther PREQ messages relating to the discovery of the path werereceived during the predetermined duration, the intermediate node canforward the PREQ message to one or more other nodes in the wireless meshnetwork without setting the first critical flag.

In some embodiments, the path request comprises an Ad hoc On-DemandDistance Vector (AODV) Route Request (RREQ) message, and the path replycomprises an AODV Route Reply (RREP) message. In some embodiments, thewireless mesh network is a Bluetooth mesh network, and the exemplarymethod and/or procedure is performed by a Bluetooth Low-Energy node.

FIG. 9 shows a flow diagram of an exemplary method and/or procedure forforwarding path reply (PREP) messages related to the discovery of a pathbetween a source node and a destination node in a wireless mesh network.The exemplary method and/or procedure can be performed by anintermediate (e.g., relay) node (e.g., user equipment, wireless device,IoT device, Bluetooth Low-Energy device, etc. or component thereof) inthe wireless mesh network (e.g., a Bluetooth mesh network). For example,the exemplary method and/or procedure shown in FIG. 9 can beimplemented, for example, in a node configured according to FIG. 10(described below). Furthermore, the exemplary method and/or procedureshown in FIG. 9 can be utilized cooperatively with the exemplary methodand/or procedures shown in other figures (including but not limited toFIG. 8) to provide various exemplary benefits described herein. Inaddition, although FIG. 9 shows blocks in a particular order, this orderis merely exemplary, and the operations of the exemplary method and/orprocedure can be performed in a different order than shown in FIG. 9 andcan be combined and/or divided into blocks having differentfunctionality. Optional blocks or operations are shown by dashed lines.

Exemplary embodiments of the method and/or procedure illustrated in FIG.9 can include the operations of block 910, in which the intermediatenode can receive a first PREP message relating to the discovery of apath between the source node and the destination node. In someembodiments, the exemplary method and/procedure can also include theoperations of block 915, in which the intermediate node can, in responseto receiving the first PREP message, create an entry, associated withthe path, in a forwarding table stored in the intermediate node.

The exemplary method and/procedure can also include the operations ofblock 920, in which the intermediate node can determine whether an entryin a discovery table, stored in the intermediate node, includes a firstcritical flag having a value indicating that the intermediate node ispart of a critical link in the path. The exemplary method and/procedurecan also include the operations of block 930, in which the intermediatenode can also include the operations of block 930, where if it isdetermined that the first critical flag has a value indicating that theintermediate node is part of a critical link in the path, theintermediate node can set a second critical flag in the first PREPmessage before forwarding the first PREQ message to one or more othernodes in the wireless mesh network. In some embodiments, the exemplarymethod and/procedure can also include the operations of block 932, whereif it is determined that the first critical flag has a value indicatingthat the intermediate node is not part of a critical link in the path,the intermediate node can forward the first PREQ message to one or moreother nodes in the wireless mesh network without setting the secondcritical flag.

In some embodiments, the exemplary method and/procedure can also includethe operations of block 940, where if it is determined that the firstcritical flag has a value indicating that the intermediate node is partof a critical link in the path, the intermediate node can set adestination critical flag in an entry, associated with the path, of aforwarding table stored in the intermediate node. In some embodiments,the exemplary method and/or procedure can also include operations ofblock 950, where if it is determined that the second critical flag has avalue indicating that the intermediate node is part of a critical linkin the path, the intermediate node can increase the number ofretransmissions for network-layer protocol data units (PDUs) over thecritical link.

In some embodiments, each of the path requests comprises an Ad hocOn-Demand Distance Vector (AODV) Route Request (RREQ) message, and thepath reply comprises an AODV Route Reply (RREP) message. In someembodiments, the wireless mesh network is a Bluetooth mesh network, andthe exemplary method and/or procedure is performed by a BluetoothLow-Energy node.

Although various embodiments are described herein above in terms ofmethods, apparatus, devices, computer-readable medium and receivers, theperson of ordinary skill will readily comprehend that such methods canbe embodied by various combinations of hardware and software in varioussystems, communication devices, computing devices, control devices,apparatuses, non-transitory computer-readable media, etc. FIG. 10 showsa block diagram of an exemplary wireless mesh device or node 1000according to various embodiments of the present disclosure. For example,exemplary node 1000 can be configured by execution of instructions,stored on a computer-readable medium, to perform operationscorresponding to one or more of the exemplary methods and/or proceduresdescribed above.

Exemplary node 1000 can comprise one or more processors 1010 that can beoperably connected to one or more memories 1020 via address and databuses, serial ports, or other methods and/or structures known to thoseof ordinary skill in the art. Memory(ies) 1020 comprises software codeor programs executed by processor(s) 1010 that facilitates, causesand/or programs exemplary node 1000 to perform various operations.

As shown in FIG. 10, memory(ies) 1020 can include an application 1060(e.g., application code) and a mesh networking protocol stack 1070,which can further comprise middle and upper layers 1072 and lower layers1074. For example, protocol stack 1070 can comprise a Bluetooth meshnetworking protocol stack, such as shown in FIGS. 1 and 2 and describedin more detail above. In such case, the lower layers 1074 can includethe Bluetooth LE PHY and link layers, with the remainder of theBluetooth mesh networking protocol stack comprising middle and upperlayers 1072. Furthermore, protocol stack 1070 can include software codethat, when executed by processor(s) 1010, configures node 1000 toperform any of the exemplary methods and/or procedures described above,including those shown in FIG. 9-12.

In some embodiments, memory(ies) 1020 and processor(s) 1010 can besubdivided into multiple processors and memories such that a particularmemory stores code for lower layers 1074 that is executed by aparticular processor, and a further memory stores code for middle andupper layers 1072 that is executed by a further processor. For example,in Bluetooth mesh networking embodiments, the particular memory andparticular processor can operate as a Bluetooth device or controllerwhile the further memory and further processor can operate as aBluetooth host, with a host-controller interface (HCI) between the two.

Exemplary node 1000 also includes a radio transceiver 1040 that iscoupled to and communicates with processor 1010. Radio transceiver 1040includes a transmitter and receiver operable (e.g., in conjunction withprocessor 1010) to transmit and receive wireless signals at a particularfrequency or band of frequencies. In Bluetooth mesh networkingembodiments, radio transceiver 1040 can be configured to transmit andreceive according to the Bluetooth LE standard in the 2.4-GHz ISM band.In some embodiments, radio transceiver 1040 can comprise portions oflower layers 1074, as illustrated in FIG. 10. For example, in Bluetoothmesh network embodiments, the Bluetooth LE physical layer can beimplemented by radio transceiver 1040 in combination with software codeexecuted by processor 1010. Furthermore, although not shown, radiotransceiver 1040 can include one or more antennas that facilitatetransmission and reception in the appropriate frequency band.

In some embodiments, node 1000 can also include one or more element(s)1050 a, 1050 b, 1050 c, etc. that can provide an interface with thephysical environment in which node 1000 is located. For example,element(s) 1050 can monitor and/or collect data related to operation ofa physical process or machine. As another example, element(s) 1050 cancontrol one or more aspects of such a physical process. As such, it canbe desirable to transmit the collected data to and/or receive controlcommands from a remote source via the mesh networking functionality ofnode 1000.

This can be done, for example, by application 1060 which can communicatewith both mesh networking stack 1070 and the element(s) 1050. Thislogical communication between application 1060 and element(s) 1050 isillustrated in FIG. 10 as a dashed line. In some embodiments, however,the physical communication (illustrated by solid lines) betweenapplication 1060 and element(s) 1050 can be performed via an interfacecircuit 1030 interposed between element(s) 1050 and processor(s) 1010.

As described herein, device, node, and/or apparatus can be representedby a semiconductor chip, a chipset, or a (hardware) module comprisingsuch chip or chipset; this, however, does not exclude the possibilitythat a functionality of a device, node, or apparatus, instead of beinghardware implemented, be implemented as a software module such as acomputer program or a computer program product comprising executablesoftware code portions for execution or being run on a processor.Furthermore, functionality of a device, node, or apparatus can beimplemented by any combination of hardware and software. A device, node,or apparatus can also be regarded as an assembly of multiple devicesand/or apparatuses, whether functionally in cooperation with orindependently of each other. Moreover, devices, nodes, and apparatusescan be implemented in a distributed fashion throughout a system, so longas the functionality of the device or apparatus is preserved. Such andsimilar principles are considered as known to a skilled person.

The foregoing merely illustrates the principles of the disclosure.Various modifications and alterations to the described embodiments willbe apparent to those skilled in the art in view of the teachings herein.It will thus be appreciated that those skilled in the art will be ableto devise numerous systems, arrangements, and procedures that, althoughnot explicitly shown or described herein, embody the principles of thedisclosure and can be thus within the spirit and scope of thedisclosure. Various different exemplary embodiments can be used togetherwith one another, as well as interchangeably therewith, as should beunderstood by those having ordinary skill in the art. In addition,certain terms used in the present disclosure, including thespecification, drawings and exemplary embodiments thereof, can be usedsynonymously in certain instances, including, but not limited to, e.g.,data and information. It should be understood that, while these wordsand/or other words that can be synonymous to one another, can be usedsynonymously herein, that there can be instances when such words can beintended to not be used synonymously. Further, to the extent that theprior art knowledge has not been explicitly incorporated by referenceherein above, it is explicitly incorporated herein in its entirety. Allpublications referenced are incorporated herein by reference in theirentireties.

Example embodiments of the techniques and apparatus described hereininclude, but are not limited to, the following enumerated clauses:

-   Clause 1. A method, performed by an intermediate node in a wireless    mesh network, for forwarding path request (PREQ) messages relating    to discovery of a path between a source node and a destination node,    the method comprising:    -   receiving a first PREQ message relating to the discovery of a        path between the source node and the destination node;    -   determining whether further PREQ messages relating to the        discovery of the path were received during a predetermined        duration after receiving the first PREQ message;    -   if it is determined that further PREQ messages relating to the        discovery of the path were not received during the predetermined        duration, setting a first critical flag in a discovery table        entry associated with the path between the source node and the        destination node; and    -   forwarding the PREQ message to one or more other nodes in the        wireless mesh network.-   Clause 2. The method of clause 1, wherein the first critical flag in    the discovery table indicates that the intermediate node can be part    of a critical link in the path.-   Clause 3. The method of any of clauses 1-2, wherein setting the    first critical flag in the discovery table is further based on one    of the following:    -   determining that a forwarding table, stored in the intermediate        node, includes an entry corresponding to a path between the        source node and the destination node, and that the entry        includes a second critical flag having a value indicating that        the intermediate node is part of a critical link in the path; or    -   determining that the forwarding table does not include an entry        corresponding to a path between the source node and the        destination node.-   Clause 4. The method of clause 3, further comprising, prior to    forwarding the PREQ message, setting the value of a flag comprising    the PREQ message to indicate that the forwarding table does not    include an entry corresponding to a path between the source node and    the destination node.-   Clause 5. The method of any of clauses 1-4, wherein if it is    determined that further PREQ messages relating to the discovery of    the path were received during the predetermined duration, forwarding    the PREQ message to one or more other nodes in the wireless mesh    network without setting the first critical flag.-   Clause 6. The method of any of clauses 1-5, further comprising    discarding the first PREQ message based on determining that:    -   the forwarding table includes an entry corresponding to a path        between the source node and the destination node; and    -   the entry includes the second critical flag having a value        indicating that the intermediate node is not part of a critical        link in the path.-   Clause 7. The method of any of clauses 1-6, wherein:    -   the path request comprises an Ad hoc On-Demand Distance Vector        (AODV) Route Request (RREQ) message; and    -   the path reply comprises an AODV Route Reply (RREP) message.-   Clause 8. The method of any of clauses 1-7, wherein the wireless    mesh network is a Bluetooth mesh network, and the method is    performed by a Bluetooth Low-Energy node.-   Clause 9. A method, performed by an intermediate node in a wireless    mesh network, for forwarding path reply (PREP) messages relating to    discovery of a path between a source node and a destination node,    the method comprising:    -   receiving a first PREP message relating to the discovery of a        path between the source node and the destination node;    -   determining whether an entry in a discovery table, stored in the        intermediate node, includes a first critical flag having a value        indicating that the intermediate node is part of a critical link        in the path;    -   if it is determined that the first critical flag has a value        indicating that the intermediate node is part of a critical link        in the path, setting a second critical flag in the first PREP        message before forwarding the first PREQ message to one or more        other nodes in the wireless mesh network.-   Clause 10. The method of clause 9, further comprising: if it is    determined that the first critical flag has a value indicating that    the intermediate node is part of a critical link in the path,    setting a destination critical flag in an entry, associated with the    path, of a forwarding table stored in the intermediate node.-   Clause 11. The method of any of clauses 9-10, further comprising: if    it is determined that the first critical flag has a value indicating    that the intermediate node is not part of a critical link in the    path, forwarding the first PREQ message to one or more other nodes    in the wireless mesh network without setting the second critical    flag.-   Clause 12. The method of any of clauses 9-11, further comprising: in    response to receiving the first PREP message, creating an entry,    associated with the path, in a forwarding table stored in the    intermediate node.

Clause 13. The method of any of clauses 9-12, further comprising:

-   -   determining whether the second critical flag, comprising the        received first PREP message, has a value indicating that the        intermediate node is part of a critical link in the path; and    -   if it is determined that the second critical flag has a value        indicating that the intermediate node is part of a critical link        in the path, setting a source critical flag in an entry,        associated with the path, of a forwarding table stored in the        intermediate node.

-   Clause 14. The method of clause 13, further comprising: if it is    determined that the second critical flag has a value indicating that    the intermediate node is part of a critical link in the path,    increasing the number of retransmissions for network-layer protocol    data units (PDUs) over the critical link.

-   Clause 15. The method of any of clauses 9-14, wherein:    -   each of the received path requests comprises an Ad hoc On-Demand        Distance Vector (AODV) Route Request (RREQ) message; and    -   the path reply comprises an AODV Route Reply (RREP) message.

-   Clause 16. The method of any of clauses 9-15, wherein the wireless    mesh network is a Bluetooth mesh network, and the method is    performed by a Bluetooth Low-Energy node.

-   Clause 17. A node in a wireless mesh network that includes one or    more source nodes, one or more destination nodes, and a plurality of    intermediate nodes, wherein the node comprises:    -   a wireless transceiver; and    -   processing circuitry operatively coupled to the wireless        transceiver, the combination being configured to perform        operations corresponding to the methods of any of clauses 1-16.

-   Clause 18. A non-transitory, computer-readable medium storing    computer-executable instructions that, when executed by processing    circuitry comprising a node in a wireless mesh network, configure    the node to perform operations corresponding to the methods of any    of clauses 1-16.

-   Clause 19. A wireless mesh network comprising:    -   one or more source nodes, each source node comprising a wireless        transceiver and processing circuitry operably coupled and        configured to perform path discovery operations;    -   one or more destination nodes, each destination node comprising        a wireless transceiver and processing circuitry operably coupled        and configured to perform path discovery operations; and    -   a plurality of intermediate nodes interconnected in a mesh        topology and configured to forward messages between the source        nodes and the destination nodes and to perform operations        corresponding to any of the methods of clauses 1-16.

-   Clause 20. A wireless mesh network comprising a plurality of nodes,    each node comprising a wireless transceiver and processing circuitry    operably coupled and configured to perform at least one of the    following:    -   path discovery operations associated with source nodes;    -   path discovery operations associated with destination nodes; and    -   intermediate-node operations corresponding to any of the methods        of clauses 1-16.

Notably, modifications and other embodiments of the disclosedembodiments will come to mind to one skilled in the art having thebenefit of the teachings presented in the foregoing descriptions and theassociated drawings. Therefore, it is to be understood that the scope ofthe disclosure is not to be limited to the specific embodimentsdisclosed and that modifications and other variants are intended to beincluded within the scope. Although specific terms can be employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

The invention claimed is:
 1. A method, for an intermediate node in awireless mesh network, to identify a critical link in a path between asource node and a destination node in the wireless mesh network, themethod comprising: receiving a first message relating to a discovery ofa path between the source node and the destination node; and forwardingthe first message to one or more other nodes in the wireless meshnetwork based on an entry in a discovery table, stored in theintermediate node, that indicates that the intermediate node is part ofa critical link in the path.
 2. The method of claim 1, wherein: thefirst message is a path request message; and the method furthercomprises, based on determining that no other messages relating to thediscovery of the path are received within a predetermined duration afterreceiving the first message, modifying the discovery table entry toindicate that the intermediate node is part of the critical link in thepath.
 3. The method of claim 2, wherein modifying the discovery tableentry comprises setting a critical flag, in the discovery table entry,that indicates that the intermediate node is part of the critical linkin the path.
 4. The method of claim 2, wherein modifying the discoverytable entry is further based on determining that a forwarding table,stored in the intermediate node, includes an entry that indicates theintermediate node is part of the critical link in the path.
 5. Themethod of claim 2, wherein modifying the discovery table entry isfurther based on determining that a forwarding table, stored in theintermediate node, does not include an entry associated with the pathbetween the source node and the destination node.
 6. The method of claim5, wherein: the method further comprises modifying the first message toindicate that the forwarding table does not include an entry associatedwith the path between the source node and the destination node; and themodified first message is forwarded to the one or more other nodes inthe wireless mesh network.
 7. The method of claim 2, further comprisingdiscarding the first message based on determining that: a forwardingtable, stored in the intermediate node, includes an entry correspondingto the path between the source node and the destination node; and theforwarding table entry indicates that the intermediate node is not partof a critical link in the path.
 8. The method of claim 1, wherein: thefirst message is a path reply message; the method further comprises,based on determining that the entry in the discovery table indicatesthat the intermediate node is part of the critical link in the path,modifying the first message to indicate that the intermediate node ispart of the critical link in the path; and the modified first message isforwarded to the one or more other nodes in the wireless mesh network.9. The method of claim 8, wherein: the entry in the discovery tableincludes a first critical flag that indicates that the intermediate nodeis part of the critical link in the path; and modifying the firstmessage comprises setting a second critical flag, in the first message,to indicate that the intermediate node is part of the critical link inthe path.
 10. The method of claim 8, further comprising: in response toreceiving the first message, creating an entry, associated with thepath, in a forwarding table stored in the intermediate node; and basedon determining that the entry in the discovery table indicates that theintermediate node is part of the critical link in the path, setting adestination critical flag in the entry of the forwarding table.
 11. Themethod of claim 8, further comprising: determining that the receivedfirst message indicates that the intermediate node is part of thecritical link in the path; and based on determining that the receivedfirst message indicates that the intermediate node is part of thecritical link in the path, setting a source critical flag in an entry,associated with the path, of a forwarding table stored in theintermediate node.
 12. The method of claim 11, further comprising, basedon the entry in the discovery table that indicates that the intermediatenode is part of the critical link, increasing the number ofretransmissions for network-layer protocol data units (PDUs) over thepath, between the source node and the destination node, that includesthe critical link.
 13. The method of claim 1, wherein: the first messageis one of the following: an Ad hoc On-Demand Distance Vector (AODV)Route Request (RREQ) message, or an AODV Route Reply (RREP) message; thewireless mesh network is a Bluetooth mesh network; and the method isperformed by a Bluetooth Low-Energy node.
 14. A non-transitory,computer-readable medium storing computer-executable instructions that,when executed by processing circuitry of an intermediate node in awireless mesh network, configure the intermediate node to performoperations corresponding to the method of claim
 1. 15. A wireless meshnetwork comprising: one or more source nodes, each source nodecomprising a wireless transceiver and processing circuitry operablycoupled and configured to perform path discovery operations; one or moredestination nodes, each destination node comprising a wirelesstransceiver and processing circuitry operably coupled and configured toperform path discovery operations; and a plurality of intermediate nodesinterconnected in a mesh topology and configured to forward messagesbetween the source nodes and the destination nodes, at least one of theintermediate nodes being configured to perform operations correspondingto the method of claim
 1. 16. A wireless device arranged to operate asan intermediate node for a wireless mesh network that includes one ormore source nodes and one or more destination nodes, the wireless devicecomprising: a wireless transceiver; and processing circuitry operativelycoupled to the wireless transceiver, whereby the processing circuitryand the wireless transceiver are configured to: receive a first messagerelating to a discovery of a path between the source node and thedestination node; and forward the first message to one or more othernodes in the wireless mesh network based on an entry in a discoverytable, stored in the intermediate node, that indicates that theintermediate node is part of a critical link in the path.
 17. Thewireless device of claim 16, wherein: the first message is a pathrequest message; and the processing circuitry is further configured tomodify the discovery table entry to indicate that the intermediate nodeis part of the critical link in the path, based on determining that noother messages relating to the discovery of the path are received withina predetermined duration after receiving the first message.
 18. Thewireless device of claim 17, wherein the processing circuitry is furtherconfigured to modify the discovery table entry by setting a criticalflag, in the discovery table entry, that indicates that the intermediatenode is part of the critical link in the path.
 19. The wireless deviceof claim 17, wherein the processing circuitry is further configured tomodify the discovery table entry based on determining that a forwardingtable, stored in the intermediate node, includes an entry that indicatesthe intermediate node is part of the critical link in the path.
 20. Thewireless device of claim 17, wherein the processing circuitry is furtherconfigured to modify the discovery table entry based on determining thata forwarding table, stored in the intermediate node, does not include anentry associated with the path between the source node and thedestination node.
 21. The wireless device of claim 20, wherein: theprocessing circuitry is further configured to modify the first messageto indicate that the forwarding table does not include an entryassociated with the path between the source node and the destinationnode; and the modified first message is forwarded to the one or moreother nodes in the wireless mesh network.
 22. The wireless device ofclaim 17, wherein the processing circuitry is further configured todiscard the first message based on determining that: a forwarding table,stored in the intermediate node, includes an entry corresponding to thepath between the source node and the destination node; and theforwarding table entry indicates that the intermediate node is not partof a critical link in the path.
 23. The wireless device of claim 16,wherein: the first message is a path reply message; the processingcircuitry is further configured to modify the first message to indicatethat the intermediate node is part of the critical link in the path,based on determining that the entry in the discovery table indicatesthat the intermediate node is part of the critical link in the path; andthe modified first message is forwarded to the one or more other nodesin the wireless mesh network.
 24. The wireless device of claim 23,wherein: the entry in the discovery table includes a first critical flagthat indicates that the intermediate node is part of the critical linkin the path; and the processing circuitry is further configured tomodify the first message based on setting a second critical flag, in thefirst message, to indicate that the intermediate node is part of thecritical link in the path.
 25. The wireless device of claim 23, whereinthe processing circuitry is further configured to: in response toreceiving the first message, create an entry, associated with the path,in a forwarding table stored in the intermediate node; and based ondetermining that the entry in the discovery table indicates that theintermediate node is part of the critical link in the path, set adestination critical flag in the entry of the forwarding table.
 26. Thewireless device of claim 23, wherein the processing circuitry is furtherconfigured to: determine that the received first message indicates thatthe intermediate node is part of the critical link in the path; andbased on determining that the received first message indicates that theintermediate node is part of the critical link in the path, set a sourcecritical flag in an entry, associated with the path, of a forwardingtable stored in the intermediate node.
 27. The wireless device of claim23, wherein the processing circuitry is further configured to, based onthe entry in the discovery table that indicates that the intermediatenode is part of the critical link, increase the number ofretransmissions for network-layer protocol data units (PDUs) over thepath, between the source node and the destination node, that includesthe critical link.
 28. The wireless device of claim 16, wherein: thefirst message is one of the following: an Ad hoc On-Demand DistanceVector (AODV) Route Request (RREQ) message, or an AODV Route Reply(RREP) message; the wireless mesh network is a Bluetooth mesh network;and the wireless device is a Bluetooth Low-Energy node.